Faster Algorithms for Minimum Cycle Basis in Directed Graphs

نویسندگان

  • Ramesh Hariharan
  • Telikepalli Kavitha
  • Kurt Mehlhorn
چکیده

We consider the problem of computing a minimum cycle basis in a directed graph. The input to this problem is a directed graph G whose edges have nonnegative weights. A cycle in this graph is actually a cycle in the underlying undirected graph with edges traversable in both directions. A {−1, 0, 1} edge incidence vector is associated with each cycle: edges traversed by the cycle in the right direction get 1 and edges traversed in the opposite direction get −1. The vector space over Q generated by these vectors is the cycle space of G. A set of cycles is called a cycle basis of G if it forms a basis for this vector space. We seek a cycle basis where the sum of weights of the cycles is minimum. The current fastest algorithm for computing a minimum cycle basis in a directed graph with m edges and n vertices runs in Õ(mω+1n) time, where ω < 2.376 is the exponent of matrix multiplication. We present an O(m3n + m2n2 logn) algorithm. We obtain our algorithm by using fast matrix multiplication over rings and an efficient extension of Dijkstra’s algorithm to compute a shortest cycle in G whose dot product with a function on its edge set is nonzero. We also present a simple O(m2n + mn2 logn) Monte Carlo algorithm. The problem of computing a minimum cycle basis in an undirected graph has been well studied. In this problem a {0, 1} edge incidence vector is associated with each cycle and the vector space over Z2 generated by these vectors is the cycle space of the graph. The fastest known algorithm for computing a minimum cycle basis in an undirected graph runs in O(m2n+mn2 logn) time and our randomized algorithm for directed graphs matches this running time.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Minimum Cycle Bases in Graphs Algorithms and Applications

A cycle basis of a graph is a family of cycles which spans all cycles of the graph. In an undirected graph, a cycle is simply a set of edges with respect to which every vertex has even degree. We view cycles as vectors indexed by edges. The entry for an edge is one if the edge belongs to the cycle and is zero otherwise. Addition of cycles corresponds to vector addition modulo 2 (symmetric diffe...

متن کامل

Faster Randomized and Deterministic Algorithms for Minimum Cycle Bases in Directed Graphs

We consider the problem of computing a minimum cycle basis in a directed graph. The input to this problem is a directed graph G whose edges have non-negative weights. A cycle in this graph is actually a cycle in the underlying undirected graph with edges traversable in both directions. A {−1,0,1} edge incidence vector is associated with each cycle: edges traversed by the cycle in the right dire...

متن کامل

An Õ(m2n) Randomized Algorithm to Compute a Minimum Cycle Basis of a Directed Graph

We consider the problem of computing a minimum cycle basis in a directed graph G. The input to this problem is a directed graph whose arcs have positive weights. In this problem a 1 0 1 incidence vector is associated with each cycle and the vector space over generated by these vectors is the cycle space of G. A set of cycles is called a cycle basis of G if it forms a basis for its cycle space. ...

متن کامل

A Polynomial Time Algorithm for Minimum Cycle Basis in Directed Graphs

We consider the problem of computing a minimum cycle basis in a directed graph G with m arcs and n vertices. The arcs of G have non-negative weights assigned to them. We give an Õ(mn) algorithm, which is the first polynomial time algorithm for this problem. We also present an Õ(mn) randomized algorithm. The problem of computing a minimum cycle basis in an undirected graph has been well-studied....

متن کامل

A Faster Deterministic Algorithm for Minimum Cycle Basis in Directed Graphs

We consider the problem of computing a minimum cycle basis in a directed graph. The input to this problem is a directed graph G whose edges have non-negative weights. A cycle in this graph is actually a cycle in the underlying undirected graph with edges traversable in both directions. A f 1;0;1g edge incidence vector is associated with each cycle: edges traversed by the cycle in the right dire...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • SIAM J. Comput.

دوره 38  شماره 

صفحات  -

تاریخ انتشار 2008